package com.comm.action;

import java.util.List;
import java.util.Map;

import jcf.sua.dataset.GridData;
import jcf.sua.mvc.MciRequest;
import jcf.sua.mvc.MciResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.comm.tmpl.model.WordDeungrok;
import com.comm.tmpl.service.CdSaengseongGiSvc;
import com.comm.tmpl.service.WordDeungrokSvc;

/**
 * 템플릿 등록 관리 Action
 * @Author : 최성원
 * @Company : Daewoo Information Systems Co., Ltd.
 * @Copyright : Daewoo Information Systems Co., Copyright (c) 2011
 * @Create : 2011년 8월 2일
 * @DSDM_UML20_PROFILE_x__y_Action_x__y_Class_ID TmplateDeungrokAct
 * @Title : 템플릿등록 Action
 * @stereotype Action
 * @version 1.0
 */

@Controller
@RequestMapping("/com/comm")
public class TmplateDeungrokAct {
	/**
	 * 단어등록을 위한 서비스 변수
	 */
	@Autowired(required=true)
	private WordDeungrokSvc wordDeungrokSvc;
	
	/**
	 * 코드생성을 위한 서비스 변수
	 */
	@Autowired(required=true)
	private CdSaengseongGiSvc cdSaengseongGiSvc;
	
	/**
	 * 단어 정보 목록조회를 한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 단어 정보 목록을 조회한다.
	 * @Title : 단어 정보 목록 조회
	 */
	@RequestMapping("/tmpl/findAllWords")
	public void findAllDaneos(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List wordList = wordDeungrokSvc.findAllWords(paramMap);
		response.setList("DS_WORDS", wordList);
	}
	
	/**
	 * 단어 정보 목록조회를 한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 단어 정보 목록을 조회한다.
	 * @Title : 단어 정보 목록 조회
	 */
	@RequestMapping("/tmpl/findAllWords2")
	public void findAllDaneos2(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List wordList = wordDeungrokSvc.findAllWords2(paramMap);
		response.setList("DS_DANEO", wordList);
	}
	
	/**
	 * 단어 정보 목록을 추가/삭제/수정을 한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 단어 정보 목록을 추가/삭제/수정을 한다.
	 * @Title : 단어 정보 목록 추가/삭제/수정
	 */
	@RequestMapping("/tmpl/saveWords")
	public void saveDaneos(MciRequest request, MciResponse response) {
		GridData<WordDeungrok> gridData = request.getGridData("DS_WORDS", WordDeungrok.class);
		wordDeungrokSvc.saveWords(gridData);
	}
	
	/**
	 * 코드생성기 Action 클래스 이름을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Action 클래스 이름을 조회한다.
	 * @Title : Action 클래스 이름 조회
	 */
	@RequestMapping("/tmpl/getActionNm")
	public void getActionNm(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List actionClassList = cdSaengseongGiSvc.getActionNm(paramMap);
		response.setList("DS_ACTION", actionClassList);
	}
	
	/**
	 * 코드생성기 Action 클래스 이외의 기타 클래스 이름을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Action 클래스 이외의 기타 클래스 이름을 조회한다.
	 * @Title : Action 기타클래스 이름 조회
	 */
	@RequestMapping("/tmpl/getEtcClassNm")
	public void getEtcClassNm(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List classList = cdSaengseongGiSvc.getEtcClassNm(paramMap);
		response.setList("DS_CLASS", classList);
	}
	
	/**
	 * 코드생성기 스키마 정보를 통해 해당 스키마의 테이블 목록을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 스키마 정보를 통해 해당 스키마의 테이블 목록을 조회한다.
	 * @Title : 테이블 목록 조회
	 */
	@RequestMapping("/tmpl/getTableJeongbo")
	public void getTableJeongbo(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List tableList = cdSaengseongGiSvc.getTableJeongbo(paramMap);
		response.setList("DS_TMPL010", tableList);
	}
	
	/**
	 * 코드생성기 컬럼 목록을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 컬럼 목록을 조회한다.
	 * @Title : 컬럼 목록 조회
	 */
	@RequestMapping("/tmpl/getColumnJeongbo")
	public void getColumnJeongbo(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List columnList = cdSaengseongGiSvc.getColumnJeongbo(paramMap);
		response.setList("DS_TMPL011", columnList);
	}
	
	/**
	 * 코드생성기 모델 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 모델 템플릿을 조회한다.
	 * @Title : 모델 템플릿 조회
	 */
	@RequestMapping("/tmpl/getModelTmpl")
	public void getModelTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List modelTmplList = cdSaengseongGiSvc.getModelTmpl(paramMap);
		response.setList("DS_MODEL_TMPL", modelTmplList);
	}
	
	/**
	 * 코드생성기 Groovi 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Groovi 템플릿을 조회한다.
	 * @Title : Grovvi 템플릿 조회
	 */
	@RequestMapping("/tmpl/getGroviTmpl")
	public void getGroviTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List grooviTmplList = cdSaengseongGiSvc.getGroviTmpl(paramMap);
		response.setList("DS_GROOVI_TMPL", grooviTmplList);
	}
	
	/**
	 * 코드생성기 Service 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Service 템플릿을 조회한다.
	 * @Title : Service 템플릿 조회
	 */
	@RequestMapping("/tmpl/getServiceTmpl")
	public void getServiceTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List serviceTmplList = cdSaengseongGiSvc.getServiceTmpl(paramMap);
		response.setList("DS_SERVICE_TMPL", serviceTmplList);
	}
	
	/**
	 * 코드생성기 Service 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Service 템플릿을 조회한다.
	 * @Title : Service 템플릿 조회
	 */
	@RequestMapping("/tmpl/getActionTmpl")
	public void getActionTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List actionTmplList = cdSaengseongGiSvc.getActionTmpl(paramMap);
		response.setList("DS_ACTION_TMPL", actionTmplList);
	}
	
	/**
	 * 코드생성기 Miplatform 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 Miplatform 템플릿을 조회한다.
	 * @Title : Miplatform 템플릿 조회
	 */
	@RequestMapping("/tmpl/getMiplatformTmpl")
	public void getMiplatformTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List miplatformTmplList = cdSaengseongGiSvc.getMiplatformTmpl(paramMap);
		response.setList("DS_MIPLATFORM_TMPL", miplatformTmplList);
	}
	
	/**
	 * 코드생성기 JQuery 템플릿을 조회한다.
	 * @Author : 최성원
	 * @Create : 2011년 5월 20일
	 * @Description : 코드생성기 JQuery 템플릿을 조회한다.
	 * @Title : JQuery 템플릿 조회
	 */
	@RequestMapping("/tmpl/getJqueryTmpl")
	public void getJqueryTmpl(MciRequest request, MciResponse response) {
		Map<String, String> paramMap = request.getParam();
		List jqueryTmplList = cdSaengseongGiSvc.getJqueryTmpl(paramMap);
		response.setList("DS_JQUERY_TMPL", jqueryTmplList);
	}
}
